|
1: |
|
a__primes |
→ a__sieve(a__from(s(s(0)))) |
2: |
|
a__from(X) |
→ cons(mark(X),from(s(X))) |
3: |
|
a__head(cons(X,Y)) |
→ mark(X) |
4: |
|
a__tail(cons(X,Y)) |
→ mark(Y) |
5: |
|
a__if(true,X,Y) |
→ mark(X) |
6: |
|
a__if(false,X,Y) |
→ mark(Y) |
7: |
|
a__filter(s(s(X)),cons(Y,Z)) |
→ a__if(divides(s(s(mark(X))),mark(Y)),filter(s(s(X)),Z),cons(Y,filter(X,sieve(Y)))) |
8: |
|
a__sieve(cons(X,Y)) |
→ cons(mark(X),filter(X,sieve(Y))) |
9: |
|
mark(primes) |
→ a__primes |
10: |
|
mark(sieve(X)) |
→ a__sieve(mark(X)) |
11: |
|
mark(from(X)) |
→ a__from(mark(X)) |
12: |
|
mark(head(X)) |
→ a__head(mark(X)) |
13: |
|
mark(tail(X)) |
→ a__tail(mark(X)) |
14: |
|
mark(if(X1,X2,X3)) |
→ a__if(mark(X1),X2,X3) |
15: |
|
mark(filter(X1,X2)) |
→ a__filter(mark(X1),mark(X2)) |
16: |
|
mark(s(X)) |
→ s(mark(X)) |
17: |
|
mark(0) |
→ 0 |
18: |
|
mark(cons(X1,X2)) |
→ cons(mark(X1),X2) |
19: |
|
mark(true) |
→ true |
20: |
|
mark(false) |
→ false |
21: |
|
mark(divides(X1,X2)) |
→ divides(mark(X1),mark(X2)) |
22: |
|
a__primes |
→ primes |
23: |
|
a__sieve(X) |
→ sieve(X) |
24: |
|
a__from(X) |
→ from(X) |
25: |
|
a__head(X) |
→ head(X) |
26: |
|
a__tail(X) |
→ tail(X) |
27: |
|
a__if(X1,X2,X3) |
→ if(X1,X2,X3) |
28: |
|
a__filter(X1,X2) |
→ filter(X1,X2) |
|
There are 29 dependency pairs:
|
29: |
|
A__PRIMES |
→ A__SIEVE(a__from(s(s(0)))) |
30: |
|
A__PRIMES |
→ A__FROM(s(s(0))) |
31: |
|
A__FROM(X) |
→ MARK(X) |
32: |
|
A__HEAD(cons(X,Y)) |
→ MARK(X) |
33: |
|
A__TAIL(cons(X,Y)) |
→ MARK(Y) |
34: |
|
A__IF(true,X,Y) |
→ MARK(X) |
35: |
|
A__IF(false,X,Y) |
→ MARK(Y) |
36: |
|
A__FILTER(s(s(X)),cons(Y,Z)) |
→ A__IF(divides(s(s(mark(X))),mark(Y)),filter(s(s(X)),Z),cons(Y,filter(X,sieve(Y)))) |
37: |
|
A__FILTER(s(s(X)),cons(Y,Z)) |
→ MARK(X) |
38: |
|
A__FILTER(s(s(X)),cons(Y,Z)) |
→ MARK(Y) |
39: |
|
A__SIEVE(cons(X,Y)) |
→ MARK(X) |
40: |
|
MARK(primes) |
→ A__PRIMES |
41: |
|
MARK(sieve(X)) |
→ A__SIEVE(mark(X)) |
42: |
|
MARK(sieve(X)) |
→ MARK(X) |
43: |
|
MARK(from(X)) |
→ A__FROM(mark(X)) |
44: |
|
MARK(from(X)) |
→ MARK(X) |
45: |
|
MARK(head(X)) |
→ A__HEAD(mark(X)) |
46: |
|
MARK(head(X)) |
→ MARK(X) |
47: |
|
MARK(tail(X)) |
→ A__TAIL(mark(X)) |
48: |
|
MARK(tail(X)) |
→ MARK(X) |
49: |
|
MARK(if(X1,X2,X3)) |
→ A__IF(mark(X1),X2,X3) |
50: |
|
MARK(if(X1,X2,X3)) |
→ MARK(X1) |
51: |
|
MARK(filter(X1,X2)) |
→ A__FILTER(mark(X1),mark(X2)) |
52: |
|
MARK(filter(X1,X2)) |
→ MARK(X1) |
53: |
|
MARK(filter(X1,X2)) |
→ MARK(X2) |
54: |
|
MARK(s(X)) |
→ MARK(X) |
55: |
|
MARK(cons(X1,X2)) |
→ MARK(X1) |
56: |
|
MARK(divides(X1,X2)) |
→ MARK(X1) |
57: |
|
MARK(divides(X1,X2)) |
→ MARK(X2) |
|
The approximated dependency graph contains one SCC:
{29-35,37-57}.